package com.glp.work.flow.service;

import com.github.pagehelper.PageInfo;
import com.glp.work.flow.dto.SendEmailSituationDTO;
import com.glp.work.flow.dto.WfPlatformDefDTO;
import com.glp.work.flow.pojo.WfPlatformDef;
import com.glp.work.flow.pojo.WfPlatformDefModle;

import java.util.List;

public interface WfPlatformDefService {
    void authorization(List<String> platformIds, String mqKey,String messageType, String modelKey, String userNo);

    List<WfPlatformDefDTO> wpfDefinsertFormCase();

    List<WfPlatformDef> findAuthorizationByKey(String key);

    List<String> findActRuKey(String key);

    /**
     * @description : 校验应用是否有使用流程的权限
     * @params : [appId, procDefKey]
     * @returns : com.glp.work.flow.pojo.WfPlatformDefModle
     * @author : 郭永伟
     * @date : 2020/9/22
     */
    WfPlatformDefModle validateAppIdRole(String appId, String procDefKey);

    /**
     * @description : 查询调用类型为0 和2 的
     * @params : []
     * @returns : java.util.List<com.glp.work.flow.dto.WfPlatformDefDTO>
     * @author : 郭永伟
     * @date : 2020/9/28
     */
    List<WfPlatformDef> selectByType();

    List<WfPlatformDef> wfPlatformDefList(String platformName, String type);

    List<WfPlatformDefModle> wfPlantDefModelKey(String key);

    /***
     * @description : 各个平台Email发送情况
     * @params : []
     * @returns : java.util.List<com.glp.work.flow.dto.SendEmailSituationDTO>
     * @author : 郭永伟
     * @date : 2020/12/16
     */
    PageInfo<SendEmailSituationDTO> getSendEmailSituation(int pageNum, int pageSize);

    /***
     * @description : 打开或关闭Email通知
     * @params : [appId]
     * @returns : void
     * @author : 郭永伟
     * @date : 2020/12/16
     */
    void updateSendEmailSituation(SendEmailSituationDTO appId);
}
